Modern computing devices have become ubiquitous tools for personal, business, and social uses. As such, many modern computing devices are capable of connecting to various data networks, including the Internet and corporate intranets, to transmit and receive data communications over the various data networks at varying rates of speed. To facilitate communications between computing devices, the data networks typically include one or more computing nodes (e.g., network switches, network routers, servers, other compute and/or store computing devices, etc.) to route communications (i.e., network packets) from a source computing device to a destination computing device. Certain network infrastructures, such as data centers, may include tens of thousands or more of such computing nodes, making transmission and reception of the network packets in sequential order difficult at best.
As such, various out-of-order, end-to-end protocols have been implemented to manage transmitting and receiving the potentially thousands of network packets that may be in flight at any given time. For example, to handle such large out-of-order network traffic volume, microarchitecture technologies have been implemented to provide hardware level end-to-end retry protocols to leverage simply accepting the next packet in a sequence of network packets, regardless or the order in which they are received. In some cases, software has been utilized to apply reliability by resequencing headers of the network packets to restore sequential order without hardware checking; however, such software-based resequencing is not typically applicable to direct data placement operations or atomic operations. Similarly, transmission control protocol (TCP) supports selective reject capabilities; however, such use cases typically depend on reassembly of the received out-of-order network packets in host memory, which typically introduces overhead and latency.